F.3 [Files] Section

Summary

Defines the [files] tag is found only in Firmware Volume INF files. This file is created by the build utility and is an input to the GenFv utility.

Prototype

<files>          ::= "[files]" <EOL>
                     <expression>+
<expression>     ::= <Filename> [<COMPONENT_TYPE>] [<FVS>]
                     [<FFSEXT>] ["PROCESSOR=" <arch>] [<APRORI>]
                     [<EFN>] <EOL>
<Filename>       ::= <PATH> <Word> <Extension>
<COMPONENT_TYPE> ::= Refer to Table "Component (module) Types"
<PATH>           ::= [[".."]{0,1} "\"]* {<Word> {"\"}{0,1}}*
<arch>           ::= {IA32} {X64} {IPF} {EBC}
<FVS>            ::= "FVs=" <FvImageName>[", <FvImageName>]*
<FvImageName>    ::= <Word>
<FFSEXT>         ::= "FFSExt=" <Extension>
<APRIORI>        ::= "APRIORI=" <FvImageNameIdx>
                     ["," <FvImageNameIdx>]*
<FvImageNameIdx> ::= <FvImageName> ":" <PositiveInt>
<PositiveInt>    ::= Integer value greater than 0
<EFN>            ::= "EFI_FILE_NAME" "=" <Path> <Arch>
                     <FileSep> <Word> <Extension> [<XipSuffix>]
<XipSuffix>      ::= ",XIP"
<Extension>      ::= "." (a-zA-Z0-9_-)+

Parameters

XipSuffix

The optional ,XIP suffix appended immediately after the file path indicates that the referenced FFS file is intended for eXecute-In-Place (XIP) operation.

This suffix is generated by the build system based on the Xip=TRUE keyword in the applicable FDF [Rule] section and should not be manually edited. The suffix is added regardless of the FvForceRebase setting.

The GenFv tool uses the ,XIP suffix only when ForceRebase is TRUE:

  • If ForceRebase is TRUE and one or more files have the ,XIP suffix, only those files are rebased (selective rebase).

  • If ForceRebase is TRUE and no files have the ,XIP suffix, all eligible files are rebased (legacy behavior preserved).

  • If ForceRebase is FALSE, no files are rebased regardless of the ,XIP suffix.

  • If ForceRebase is not specified, the ,XIP suffix is not consulted. Rebase occurs for all eligible files only if BaseAddress is non-zero.

Example

[files]
  EFI_FILE_NAME = C:\Build\Platform\DEBUG\FV\Ffs\PeiCore.ffs,XIP
  EFI_FILE_NAME = C:\Build\Platform\DEBUG\FV\Ffs\PcdPeim.ffs,XIP
  EFI_FILE_NAME = C:\Build\Platform\DEBUG\FV\Ffs\DxeIpl.ffs
  EFI_FILE_NAME = C:\Build\Platform\DEBUG\FV\Ffs\PlatformPei.ffs,XIP
  EFI_FILE_NAME = C:\Build\Platform\DEBUG\FV\Ffs\DxeCore.ffs